In many modern computer applications, the integrity of data is of great importance and cannot be compromised even in case of an emergency shutdown or other failure within the computer system. In order to avoid loss of data, such computer systems typically comprise one or more uninterruptible power supply (UPS) units that allow continued activity in the system, even in the face of a sudden power shortage.
For example, often in a computer system, host processors are operatively coupled to one or more permanent storage subsystems via a storage protocol. A host processor may process a transaction by reading relevant data, performing calculations thereon, and writing the results back. The data may be stored at the permanent storage subsystem(s), wherein the process of transferring data to and from the permanent storage subsystem(s) typically includes temporarily storing data and/or metadata in a volatile cache memory (data and/or metadata stored in a cache memory are referred to hereinafter as “data”). Caching is employed by many computer systems for improving input/output (I/O) performance between the storage subsystem(s) and the host(s). In addition, the cache memory may be used to improve internal storage system operations such as error logging, recovery, reconstruction, etc. However, at the time of a power failure any transactions in progress and respective data temporarily stored in the volatile cache may be lost, and the integrity of data may be compromised.
In order to protect against loss of data, a UPS is often used. The UPS should allow enough time of activity to handle tasks that would prevent loss of user data as well as of internal information or metadata. Typically, this means that data that is currently in memory but has not yet been permanently stored in non-volatile media has to be taken care of during the time allowed by the UPS.
However, UPS units are costly they take up a lot of physical space, and can provide power for a limited period of time. Furthermore, even though computer systems are often programmed to complete all crucial tasks, such as saving data to non-volatile storage, within the time provided by the UPS, it may often be the case that a UPS fails to fully charge, and therefore does not have enough power to enable the completion of all pending tasks before it is shut down.
Thus, it would be advantageous to improve the efficiency of UPS units and enable to utilize as much as possible of the UPS power, even in the case of incomplete charge, in order to save data to the permanent storage before shutdown.
Prior art references considered to be relevant as background to the invention are listed below. Acknowledgement of the references herein is not to be inferred as meaning that these are in any way relevant to the patentability of the invention disclosed herein.
US Patent Application 2006/212644 entitled “Non-volatile backup for data cache” discloses a non-volatile data cache having a cache memory coupled to an external power source and operable to cache data of an external data device such that access requests for the data can be serviced by the cache rather than the external device. A non-volatile data storage device is coupled to the cache memory. An uninterruptible power supply (UPS) unit is coupled to the cache memory and the non-volatile data storage device so as to maintain the cache memory and the non-volatile storage device in an operational state for a period of time in the event of an interruption in the external power source.
U.S. Pat. No. 7,484,109 discloses a system for placing and maintaining a computer in a standby mode during a power failure, the system comprising: a mains power failure sensor; a source of standby power, the source of standby power being less than the power available for full operation; a volatile memory arranged to be powered from the source of standby power in the event of a failure of mains power; and a processor operative responsive to the mains power failure sensor to store status information on the volatile memory and reduce power demand of the processor and associated devices to no more than that available from the source of standby power. In an exemplary embodiment the source of standby power is one of a battery, a capacitor, a flywheel energy storage system and a power over Ethernet connection.
U.S. Pat. No. 5,167,024 discloses a power manager within a portable laptop computer which provides power and clocking control to various units within the computer in order to conserve battery power. Transistor switches controlled by the power manager control the distribution of power and/or clock signals to the various units within the computer. The power manager includes a software routine for continually monitoring the various units and when these units are either not needed and/or not currently in use, power and/or clock signals are removed from a given unit.